Integrated extensions are extensions whose functions resides inside the objects you use. That is, they modify or extend the behavior of existing objects. The advantage of such approach is that the new functionality can be added transparently, and the code that uses them does have (in many cases) be aware of their existence or look any different.